package com.melodyframe.tableland.engine;

import java.util.Map;
import java.util.Set;

import com.melodyframe.tableland.engine.model.Player;
import com.melodyframe.tableland.engine.model.Table;
import com.melodyframe.tableland.engine.model.base.UniqueModel;
import com.melodyframe.tableland.engine.process.command.Command;
import com.melodyframe.tableland.engine.process.command.CommandPower;

/**
 * <h1>游戏</h1>
 * 
 * @author ettear
 */
public class Game implements UniqueModel {

    /**
     * 标识
     */
    private String              key;
    /**
     * 游戏配置
     */
    private GameConfig          config;
    /**
     * 当前回合
     */
    private int                 bout;
    /**
     * 游戏桌
     */
    private Table               table;
    /**
     * 玩家
     */
    private Map<String, Player> players;

    /**
     * 等待玩家指令
     * 
     * @param commandSet
     */
    public void sendCommand(Set<CommandPower<Command>> commandPowerSet) {

    }

    /**
     * 等待玩家指令
     * 
     * @param commandSet
     */
    public void doCommand(Command command) {

    }

    @Override
    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

}
